home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
081-090
/
amok81
/
m2
/
defs
/
intuitiond.def
< prev
next >
Wrap
Text File
|
1993-11-04
|
29KB
|
1,418 lines
DEFINITION MODULE IntuitionD; (*$ Implementation:=FALSE *)
(* 17-Apr-1992/cn *)
FROM SYSTEM IMPORT ADDRESS,SHORTSET,BITSET,BYTE,CAST,LONGSET;
FROM ExecD IMPORT
Interrupt,IOStdReq,Library,List,ListPtr,MemReqSet,Message,MinNode
,MsgPortPtr,SignalSemaphore,Node,TaskPtr;
FROM GraphicsD IMPORT
jam2,BitMap,BitMapPtr,ClipRect,DrawModeSet,GfxBasePtr,LayerInfo
,LayerPtr,Point,RastPort,RastPortPtr,RegionPtr,SimpleSpritePtr
,TextAttr,TextAttrPtr,TextFontPtr,TmpRas,View,ViewModeSet,ViewPort
,ViewPortPtr,ViewPtr;
FROM InputEvent IMPORT
lButton,rButton,upPrefix,InputEvent,InputEventPtr,Qualifiers
,QualifierSet,mButton;
FROM KeyMapD IMPORT
KeyMapPtr;
FROM Timer IMPORT
IOTimer,TimeVal;
FROM UtilityD IMPORT
TagItemPtr,tagUser,HookPtr,Hook;
CONST
intuitionName="intuition.library";
TYPE
StrPtr=ADDRESS;
(*
Die Datentypen von Intuition referenzieren sich oft gegenseitig.
Aus diesem Grund werden alle Zeiger zuerst deklariert.
*)
BoolInfoPtr=POINTER TO BoolInfo;
BorderPtr=POINTER TO Border;
(*36*)ColorSpecPtr=POINTER TO ColorSpec;
DrawInfoPtr=POINTER TO DrawInfo;
(*36*)EasyStructPtr=POINTER TO EasyStruct;
(*36*)ExtNewScreenPtr=POINTER TO ExtNewScreen;
(*36*)ExtNewWindowPtr=POINTER TO ExtNewWindow;
(*36*)GadgetInfoPtr=POINTER TO GadgetInfo;
GadgetPtr=POINTER TO Gadget;
(*36*)GpGoInactivePtr=POINTER TO GpGoInactive;
(*36*)GpHitTestPtr=POINTER TO GpHitTest;
(*36*)GpInputPtr=POINTER TO GpInput;
(*36*)GpRenderPtr=POINTER TO GpRender;
(*36*)IBoxPtr=POINTER TO IBox;
(*36*)IClassPtr=POINTER TO IClass;
ImagePtr=POINTER TO Image;
(*36*)ImpDrawPtr=POINTER TO ImpDraw;
(*36*)ImpErasePtr=POINTER TO ImpErase;
(*36*)ImpFrameBoxPtr=POINTER TO ImpFrameBox;
(*36*)ImpHitTestPtr=POINTER TO ImpHitTest;
IntuiMessagePtr=POINTER TO IntuiMessage;
IntuiTextPtr=POINTER TO IntuiText;
IntuitionBasePtr=POINTER TO IntuitionBase;
MenuItemPtr=POINTER TO MenuItem;
MenuPtr=POINTER TO Menu;
NewScreenPtr=POINTER TO NewScreen;
NewWindowPtr=POINTER TO NewWindow;
(*36*)OpGetPtr=POINTER TO OpGet;
(*36*)ObjectPtr=POINTER TO Object;
(*36*)OpAddTailPtr=POINTER TO OpAddTail;
(*36*)OpSetPtr=POINTER TO OpSet;
(*36*)OpMemberPtr=POINTER TO OpMember;
(*36*)OpUpdatePtr=POINTER TO OpUpdate;
(*36*)PGXPtr=POINTER TO PGX;
PreferencesPtr=POINTER TO Preferences;
PropInfoPtr=POINTER TO PropInfo;
(*36*)PubScreenNodePtr=POINTER TO PubScreenNode;
RememberPtr=POINTER TO Remember;
RequesterPtr=POINTER TO Requester;
ScreenPtr=POINTER TO Screen;
(*36*)SGWorkPtr=POINTER TO SGWork;
(*36*)StringExtendPtr=POINTER TO StringExtend;
StringInfoPtr=POINTER TO StringInfo;
(*36*)UObjectPtr=POINTER TO UObject;
WindowPtr=POINTER TO Window;
CONST
(*
Bitnummern für Menu.flags:
*)
menuEnabled=0;
miDrawn=8;
TYPE
Menu=RECORD
nextMenu:MenuPtr;
leftEdge:INTEGER;
topEdge:INTEGER;
width:INTEGER;
height:INTEGER;
flags:BITSET;
menuName:ADDRESS;
firstItem:MenuItemPtr;
jazzX:INTEGER;
jazzY:INTEGER;
beatX:INTEGER;
beatY:INTEGER;
END;
MenuItemFlags=(
checkIt,itemText,commSeq,menuToggle,itemEnabled,mif5,
highComp,highBox,checked,mif9,mif10,mif11,isDrawn,
highItem,menuToggled,mif15
);
MenuItemFlagSet=SET OF MenuItemFlags;
CONST
highImage=MenuItemFlagSet{};
highNone=MenuItemFlagSet{highBox,highComp};
TYPE
MenuItem=RECORD
nextItem:MenuItemPtr;
leftEdge:INTEGER;
topEdge:INTEGER;
width:INTEGER;
height:INTEGER;
flags:MenuItemFlagSet;
mutualExclude:LONGSET;
itemFill:ADDRESS;
selectFill:ADDRESS;
command:CHAR;
subItem:MenuItemPtr;
nextSelect:CARDINAL;
END;
RequesterFlags=(
pointRel,preDrawn,noisyReq,rf3,
simpleReq,(*36*)useReqImage,noReqBackFill,
rf7,rf8,rf9,rf10,rf11,
reqOffWindow,reqActive,sysRequest,deferRefresh
);
RequesterFlagSet=SET OF RequesterFlags;
Requester=RECORD
olderRequest:RequesterPtr;
leftEdge:INTEGER;
topEdge:INTEGER;
width:INTEGER;
height:INTEGER;
relLeft:INTEGER;
relTop:INTEGER;
reqGadget:GadgetPtr;
reqBorder:BorderPtr;
reqText:IntuiTextPtr;
flags:RequesterFlagSet;
backFill:SHORTCARD;
reqLayer:LayerPtr;
reqPad1:ARRAY [0..31] OF BYTE;
imageBMap:BitMapPtr;
rWindow:WindowPtr;
(*36*)reqImage:ImagePtr;
reqPad2:ARRAY [0..31] OF BYTE;
END;
GadgetFlags=(
gadgHBox,gadgHImage,gadgImage,gRelBottom,gRelRight,
gRelWidth,gRelHeight,selected,gadgDisabled,
(*37*)tabCycle,(*37*)stringExtend,gf11,
(*36*)labelString,(*36*)labelImage,
gf14,gf15
);
GadgetFlagSet=SET OF GadgetFlags;
ActivationFlags=(
relVerify,gadgImmediate,endGadget,followMouse,
rightBorder,leftBorder,topBorder,bottomBorder,
toggleSelect,stringCenter,stringRight,longint,
altKeyMap,boolExtend,activeGadget,borderSniff
);
ActivationFlagSet=SET OF ActivationFlags;
CONST
gadgHighbits=CAST(GadgetFlagSet,03H);
gadgHNone=GadgetFlagSet{gadgHBox,gadgHImage};
gadgHComp=GadgetFlagSet{};
boolGadget=0001H;
gadget0002=0002H;
propGadget=0003H;
strGadget=0004H;
(*36*)customGadget=0005H;
sizing=0010H;
wDragging=0020H;
sDragging=0030H;
wUpFront=0040H;
sUpFront=0050H;
wDownBack=0060H;
sDownBack=0070H;
close=0080H;
reqGadget=1000H;
gzzGadget=2000H;
scrGadget=4000H;
sysGadget=8000H;
gadgetType=CAST(BITSET,0FC00H);
TYPE
Gadget=RECORD
nextGadget:GadgetPtr;
leftEdge:INTEGER;
topEdge:INTEGER;
width:INTEGER;
height:INTEGER;
flags:GadgetFlagSet;
activation:ActivationFlagSet;
gadgetType:CARDINAL;
gadgetRender:ADDRESS;
selectRender:ADDRESS;
gadgetText:IntuiTextPtr;
CASE :INTEGER OF
|0: mutualExclude:LONGSET;
|1: (*36*)hp:HookPtr;
END;
specialInfo:ADDRESS;
gadgetID:INTEGER;
userData:ADDRESS;
END;
CONST
(*
Bitnummer für BoolInfo.flags.
*)
boolMask=0;
TYPE
BoolInfo=RECORD
flags:BITSET;
mask:ADDRESS;
reserved:LONGCARD;
END;
PropInfoFlags=(
autoKnob,freeHoriz,freeVert,propBorderless,
(*36*)propNewLook,pf5,pf6,pf7,
knobHit,pf9,pf10,pf11,pf12,pf13,pf14,pf15
);
PropInfoFlagSet=SET OF PropInfoFlags;
CONST
knobVmin=4;
knobHmin=6;
maxBody=0FFFFH;
maxPot=0FFFFH;
TYPE
PropInfo=RECORD
flags:PropInfoFlagSet;
horizPot:CARDINAL;
vertPot:CARDINAL;
horizBody:CARDINAL;
vertBody:CARDINAL;
cWidth:CARDINAL;
cHeight:CARDINAL;
hPotRes:CARDINAL;
vPotRes:CARDINAL;
leftBorder:CARDINAL;
topBorder:CARDINAL;
END;
TYPE
StringInfo=RECORD
buffer:ADDRESS;
undoBuffer:ADDRESS;
bufferPos:INTEGER;
maxChars:INTEGER;
dispPos:INTEGER;
undoPos:INTEGER;
numChars:INTEGER;
dispCount:INTEGER;
cLeft:INTEGER;
cTop:INTEGER;
(*36*)extension:StringExtendPtr;
longInt:LONGINT;
altKeyMap:KeyMapPtr;
END;
CONST
autoFrontPen=0;
autoBackPen=1;
autoDrawMode=jam2;
autoLeftEdge=6;
autoTopEdge=3;
autoITextFont=NIL;
autoNextText=NIL;
TYPE
IntuiText=RECORD
frontPen:SHORTCARD;
backPen:SHORTCARD;
drawMode:DrawModeSet;
leftEdge:INTEGER;
topEdge:INTEGER;
iTextFont:TextAttrPtr;
iText:ADDRESS;
nextText:IntuiTextPtr;
END;
Border=RECORD
leftEdge:INTEGER;
topEdge:INTEGER;
frontPen:SHORTCARD;
backPen:SHORTCARD;
drawMode:DrawModeSet;
count:SHORTCARD;
xy:ADDRESS;
nextBorder:BorderPtr;
END;
Image=RECORD
leftEdge:INTEGER;
topEdge:INTEGER;
width:INTEGER;
height:INTEGER;
depth:INTEGER;
imageData:ADDRESS;
planePick:SHORTCARD;
planeOnOff:SHORTCARD;
nextImage:ImagePtr;
END;
IDCMPFlags=(
sizeVerify,newSize,refreshWindow,mouseButtons,
mouseMove,gadgetDown,gadgetUp,reqSet,
menuPick,closeWindow,rawKey,reqVerify,
reqClear,menuVerify,newPrefs,diskInserted,
diskRemoved,wbenchMessage,activeWindow,inactiveWindow,
deltaMove,vanillaKey,intuiTicks,(*36*)idcmpUpdate,
(*36*)menuHelp,(*36*)changeWindow,c26,c27,
c28,c29,c30,lonelyMessage
);
IDCMPFlagSet=SET OF IDCMPFlags;
CONST
selectUp=lButton+upPrefix;
selectDown=lButton;
menuUp=rButton+upPrefix;
menuDown=rButton;
middleDown=mButton;
middleUp=mButton+upPrefix;
checkWidth=19;
commWidth=27;
lowCheckWidth=13;
lowCommWidth=16;
menuNull=0FFFFH;
noMenu=1FH;
noItem=3FH;
noSub=1FH;
keyCodeQ=10H;
keyCodeZ=31H;
keyCodeX=32H;
keyCodeV=34H;
keyCodeB=35H;
keyCodeN=36H;
keyCodeM=37H;
keyCodeLess=38H;
keyCodeGreater=39H;
cursorUp=4CH;
cursorDown=4DH;
cursorRight=4EH;
cursorLeft=4FH;
menuHot=1;
menuCancel=2;
menuWaiting=3;
okOk=menuHot;
okAbort=4;
okCancel=menuCancel;
wbenchOpen=1;
wbenchClose=2;
deadendAlert=80000000H;
recoveryAlert=0;
altLeft=QualifierSet{lAlt};
altRight=QualifierSet{rAlt};
amigaLeft=QualifierSet{lCommand};
amigaRight=QualifierSet{rCommand};
amigaKeys=amigaLeft+amigaRight;
TYPE
IntuiMessage=RECORD
execMessage:Message;
class:IDCMPFlagSet;
code:CARDINAL;
qualifier:QualifierSet;
iAddress:ADDRESS;
mouseX:INTEGER;
mouseY:INTEGER;
seconds:LONGCARD;
micros:LONGCARD;
idcmpWindow:WindowPtr;
specialLink:IntuiMessagePtr;
END;
IBox=RECORD
left:INTEGER;
top:INTEGER;
width:INTEGER;
height:INTEGER;
END;
TYPE
WindowFlags=(
windowSizing,windowDrag,windowDepth,windowClose,
sizeBRight,sizeBBottom,simpleRefresh,superBitMap,
backDrop,reportMouse,gimmeZeroZero,borderless,
activate,windowActive,inRequest,menuState,
rmbTrap,noCareRefresh,
(*36*)nwExtended,wf19,wf20,wf21,wf22,wf23,
windowRefresh,wbenchWindow,windowTicked,
(*36*)visitor,(*36*)zoomed,(*36*)hasZoom,wf30,wf31
);
WindowFlagSet=SET OF WindowFlags;
ScreenFlags=(
wbenchScreen,(*36*)publicScreen,sf2,sf3,
showTitle,beeping,customBitMap,screenBehind,
screenQuiet,screenHires,sf10,sf11,
nsExtended,sf13,autoScroll,sf15
);
ScreenFlagSet=SET OF ScreenFlags;
CONST
(*36*)defaultMouseQueue=5;
smartRefresh=WindowFlagSet{};
otherRefresh=WindowFlagSet{simpleRefresh,superBitMap};
TYPE
Window=RECORD
nextWindow:WindowPtr;
leftEdge:INTEGER;
topEdge:INTEGER;
width:INTEGER;
height:INTEGER;
mouseY:INTEGER;
mouseX:INTEGER;
minWidth:INTEGER;
minHeight:INTEGER;
maxWidth:INTEGER;
maxHeight:INTEGER;
flags:WindowFlagSet;
menuStrip:MenuPtr;
title:ADDRESS;
firstRequest:RequesterPtr;
dmRequest:RequesterPtr;
reqCount:INTEGER;
wScreen:ScreenPtr;
rPort:RastPortPtr;
borderLeft:SHORTINT;
borderTop:SHORTINT;
borderRight:SHORTINT;
borderBottom:SHORTINT;
borderRPort:RastPortPtr;
firstGadget:GadgetPtr;
parent:WindowPtr;
descendant:WindowPtr;
pointer:ADDRESS;
ptrHeight:SHORTINT;
ptrWidth:[0..16];
xOffset:SHORTINT;
yOffset:SHORTINT;
idcmpFlags:IDCMPFlagSet;
userPort:MsgPortPtr;
windowPort:MsgPortPtr;
messageKey:IntuiMessagePtr;
detailPen:SHORTCARD;
blockPen:SHORTCARD;
checkMark:ImagePtr;
screenTitle:ADDRESS;
gzzMouseX:INTEGER;
gzzMouseY:INTEGER;
gzzWidth:INTEGER;
gzzHeight:INTEGER;
extData:ADDRESS;
userData:ADDRESS;
wLayer:LayerPtr;
iFont:TextFontPtr;
(*36*)moreFlags:LONGSET;
END;
NewWindow=RECORD
leftEdge:INTEGER;
topEdge:INTEGER;
width:INTEGER;
height:INTEGER;
detailPen:SHORTINT;
blockPen:SHORTINT;
idcmpFlags:IDCMPFlagSet;
flags:WindowFlagSet;
firstGadget:GadgetPtr;
checkMark:ImagePtr;
title:ADDRESS;
screen:ScreenPtr;
bitMap:BitMapPtr;
minWidth:INTEGER;
minHeight:INTEGER;
maxWidth:INTEGER;
maxHeight:INTEGER;
type:ScreenFlagSet;
END;
(*36*)ExtNewWindow=RECORD
nw:NewWindow;
extension:TagItemPtr;
END;
(*36*)WaTags=(waDummy:=tagUser+99,
waLeft,
waTop,
waWidth,
waHeight,
waDetailPen,
waBlockPen,
waIDCMP,
waFlags,
waGadgets,
waCheckMark,
waTitle,
waScreenTitle,
waCustomScreen,
waSuperBitMap,
waMinWidth,
waMinHeight,
waMaxWidth,
waMaxHeight,
waInnerWidth,
waInnerHeight,
waPubScreenName,
waPubScreen,
waPubScreenFallBack,
waWindowName,
waColors,
waZoom,
waMouseQueue,
waBackFill,
waRptQueue,
waSizeGadget,
waDragBar,
waDepthGadget,
waCloseGadget,
waBackdrop,
waReportMouse,
waNoCareRefresh,
waBorderless,
waActivate,
waRMBTrap,
waWBenchWindow,
waSimpleRefresh,
waSmartRefresh,
waSizeBRight,
waSizeBBottom,
waAutoAdjust,
waGimmeZeroZero,
(*37*)waMenuHelp
);
CONST
driVersion=1;
TYPE
DrawPens=(
detailPen,blockPen,textPen,shinePen,shadowPen,fillPen,fillTextPen
,backGroundPen,highLightTextPen
);
CONST
numDriPens=ORD(MAX(DrawPens))+1;
(*
Bitnummer für DrawInfo.flags
*)
driNewLook=0;
TYPE
DrawInfo=RECORD
version:CARDINAL;
numPens:CARDINAL;
pens:POINTER TO ARRAY DrawPens OF CARDINAL;
font:TextFontPtr;
depth:CARDINAL;
resolution:RECORD
x,y:CARDINAL;
END;
flags:LONGSET;
reserved:ARRAY[0..6] OF LONGCARD;
END;
CONST
stdScreenHeight=-1;
(*36*)stdScreenWidth=-1;
customScreen=ScreenFlagSet{wbenchScreen..sf3};
TYPE
Screen=RECORD
nextScreen:ScreenPtr;
firstWindow:WindowPtr;
leftEdge:INTEGER;
topEdge:INTEGER;
width:INTEGER;
height:INTEGER;
mouseY:INTEGER;
mouseX:INTEGER;
flags:ScreenFlagSet;
title:ADDRESS;
defaultTitle:ADDRESS;
barHeight:SHORTINT;
barVBorder:SHORTINT;
barHBorder:SHORTINT;
menuVBorder:SHORTINT;
menuHBorder:SHORTINT;
wBorTop:SHORTINT;
wBorLeft:SHORTINT;
wBorRight:SHORTINT;
wBorBottom:SHORTINT;
font:TextAttrPtr;
viewPort:ViewPort;
rastPort:RastPort;
bitMap:BitMap;
layerInfo:LayerInfo;
firstGadget:GadgetPtr;
detailPen:SHORTCARD;
blockPen:SHORTCARD;
saveColor0:CARDINAL;
barLayer:LayerPtr;
extData:ADDRESS;
userData:ADDRESS;
END;
NewScreen=RECORD
leftEdge:INTEGER;
topEdge:INTEGER;
width:INTEGER;
height:INTEGER;
depth:INTEGER;
detailPen:SHORTINT;
blockPen:SHORTINT;
viewModes:ViewModeSet;
type:ScreenFlagSet;
font:TextAttrPtr;
defaultTitle:ADDRESS;
gadgets:GadgetPtr;
customBitMap:BitMapPtr;
END;
(*36*)ExtNewScreen=RECORD
ns:NewScreen;
extension:TagItemPtr
END;
(*36*)SaTags=(saDummy:=tagUser+32,
saLeft,
saTop,
saWidth,
saHeight,
saDepth,
saDetailPen,
saBlockPen,
saTitle,
saColors,
saErrorCode,
saFont,
saSysFont,
saType,
saBitMap,
saPubName,
saPubSig,
saPubTask,
saDisplayID,
saDClip,
saOverscan,
saObsolete1,
saShowTitle,
saBehind,
saQuiet,
saAutoScroll,
saPens,
saFullPalette
);
CONST
(*36*)osErrNoMonitor=1;
(*36*)osErrNoChips=2;
(*36*)osErrNoMem=3;
(*36*)osErrNoChipMem=4;
(*36*)osErrPubNotUnique=5;
(*36*)osErrUnknownMode=6;
(*36*)oScanText=1;
(*36*)oScanStandard=2;
(*36*)oScanMax=3;
(*36*)oScanVideo=4;
TYPE
(*36*)PubScreenNode=RECORD
node:Node;
screen:ScreenPtr;
flags:BITSET;
size:INTEGER;
visitorCount:INTEGER;
sigTask:TaskPtr;
sigBit:SHORTCARD;
END;
CONST
(*
Bitnummer für PubScreen.flags.
*)
(*36*)psnPrivate=0;
(*36*)maxPubScreenName=139;
(*36*)shanghai=1;
(*36*)popPubScreen=2;
CONST
filenameSize=30;
pointerSize=(1+16+1)*2;
topazEighty=8;
topazSixty=9;
TYPE
BaudRate=(
baud110,baud300,baud1200,baud2400,baud4800,baud9600,baud19200,baudMidi
);
PrintAspect=(aspectHoriz,aspectVert);
PrintImage=(imagePositive,imageNegative);
PrintQuality=(draft,letter);
PrintShade=(shadeBW,shadeGreyscale,shadeColor);
PrintSpacing=(sixLPI,ps1,eightLPI);
PrinterFlags=(
correctRed,correctGreen,correctBlue,centerImage,boundedDimensions,
absoluteDimensions,pixelDimensions,multiplyDimensions,integerScaling,
halftoneDithering,floydDithering,antiAlias,greyScale2
);
PrinterFlagSet=SET OF PrinterFlags;
CONST
correctRGBMask=PrinterFlagSet{correctRed..correctBlue};
dimensionMask=PrinterFlagSet{boundedDimensions..multiplyDimensions};
ditheringMask=PrinterFlagSet{halftoneDithering,floydDithering};
ignoreDimensions=PrinterFlagSet{};
orderedDithering=PrinterFlagSet{};
TYPE
PrinterType=(
customName,alphaP101,brother15XL,cbmMps1000,diab630,diabAdvD25,
diabC150,epson,epsonJX80,okimate20,qumeLP20,hpLaserjet,hpLaserjetPlus
);
PrinterPort=(parallelPrinter,serialPrinter);
SerParShk=(
shakeRts,shakeNone,sps2,sps3,
parityEven,parityOdd,paritySpace,sps7
);
SerParShkSet=SET OF SerParShk;
CONST
shakeXon=SerParShkSet{};
parityNone=SerParShkSet{};
(*36*)parityMark=SerParShkSet{parityEven,parityOdd};
TYPE
Preferences=RECORD
fontHeight:SHORTCARD;
printerPort:PrinterPort;
baudRateMSB:SHORTCARD; (* :=0 *)
baudRate:BaudRate;
keyRptSpeed:TimeVal;
keyRptDelay:TimeVal;
doubleClick:TimeVal;
pointerMatrix:ARRAY [0..pointerSize-1] OF CARDINAL;
xOffset:SHORTINT;
yOffset:SHORTINT;
color17:CARDINAL;
color18:CARDINAL;
color19:CARDINAL;
pointerTicks:CARDINAL;
color0:CARDINAL;
color1:CARDINAL;
color2:CARDINAL;
color3:CARDINAL;
viewXOffset:SHORTINT;
viewYOffset:SHORTINT;
viewInitX:INTEGER;
viewInitY:INTEGER;
enableCLI:BITSET;
printerTypeMSB:SHORTCARD; (* :=0 *)
printerType:PrinterType;
printerFilename:ARRAY [0..filenameSize-1] OF CHAR;
printPitch:CARDINAL;
printQuality:PrintQuality;
printQualityLSB:SHORTCARD; (* :=0 *)
printSpacing:PrintSpacing;
printSpacingLSB:SHORTCARD; (* :=0 *)
printLeftMargin:CARDINAL;
printRightMargin:CARDINAL;
printImageMSB:SHORTCARD; (* :=0 *)
printImage:PrintImage;
printAspectMSB:SHORTCARD; (* :=0 *)
printAspect:PrintAspect;
printShadeMSB:SHORTCARD; (* :=0 *)
printShade:PrintShade;
printThreshold:INTEGER;
paperSize:CARDINAL;
paperLength:CARDINAL;
paperType:CARDINAL;
serRWBits:SHORTCARD;
serStopBuf:SHORTCARD;
serParShk:SerParShkSet;
laceWB:SHORTSET;
workName:ARRAY [0..filenameSize-1] OF CHAR;
rowSizeChange:SHORTINT;
columnSizeChange:SHORTINT;
printFlags:PrinterFlagSet;
printMaxWidth:CARDINAL;
printMaxHeight:CARDINAL;
printDensity:SHORTCARD;
printXOffset:SHORTCARD;
width:CARDINAL;
height:CARDINAL;
depth:SHORTCARD;
size:SHORTCARD;
END;
CONST
pica=0H;
elite=0400H;
fine=0800H;
usLetter=0H;
usLegal=010H;
nTractor=020H;
wTractor=030H;
custom=040H;
(*36*)euroA0=050H;
(*36*)euroA1=060H;
(*36*)euroA2=070H;
(*36*)euroA3=080H;
(*36*)euroA4=090H;
(*36*)euroA5=0A0H;
(*36*)euroA6=0B0H;
(*36*)euroA7=0C0H;
(*36*)euroA8=0D0H;
fanfold=0H;
single=080H;
readBits=0F0H;
writeBits=0FH;
stopBits=0F0H;
bufSizeBits=0FH;
buf512=0;
buf1024=1;
buf2048=2;
buf4096=3;
buf8000=4;
buf16000=5;
(*
Bitnummer für Preferences.laceWB.
*)
lacewb=0;
(*
Bitnummerns für Preferences.enableCLI.
*)
(*36*)screenDrag=14;
(*36*)mouseAccel=15;
TYPE
Remember=RECORD
nextRemember:RememberPtr;
rememberSize:LONGCARD;
memory:ADDRESS;
END;
(*36*)ColorSpec=RECORD
colorIndex:INTEGER;
red:CARDINAL;
green:CARDINAL;
blue:CARDINAL;
END;
(*36*)EasyStruct=RECORD
structSize:LONGCARD;
flags:LONGSET;
title:ADDRESS;
textFormat:ADDRESS;
gadgetFormat:ADDRESS;
END;
TYPE
DisplayMode=(hiresPick,lowresPick);
CONST
dModeCount=ORD(MAX(DisplayMode))+1;
eventMax=10;
TYPE
Res=(hiresGadget,lowresGadget);
CONST
resCount=ORD(MAX(Res))+1;
TYPE
Gadgets=(
upFrontGadget,downBackGadget,sizeGadget,closeGadget,
dragGadget,sUpFrontGadget,sDownBackGadget,sDragGadget
);
CONST
gadgetCount=ORD(MAX(Gadgets))+1;
TYPE
IntuitionBase=RECORD
libNode:Library;
viewLord:View;
activeWindow:WindowPtr;
activeScreen:ScreenPtr;
firstScreen:ScreenPtr;
flags:LONGSET;
mouseY:INTEGER;
mouseX:INTEGER;
seconds:LONGCARD;
micros:LONGCARD;
END;
TYPE
(*36*)GadgetInfo=RECORD
screen:ScreenPtr;
window:WindowPtr;
requester:RequesterPtr;
rastPort:RastPortPtr;
layer:LayerPtr;
domain:IBox;
detailPen:SHORTCARD;
blockPen:SHORTCARD;
drInfo:DrawInfoPtr;
reserved:ARRAY [0..5] OF LONGCARD;
END;
(*36*)PGX=RECORD
container:IBox;
newKnob:IBox;
END;
(*36*)StringExtend=RECORD
font:TextFontPtr;
pens,activePens:ARRAY [0..1] OF SHORTCARD;
initialModes:LONGSET;
editHook:HookPtr;
workBuffer:StrPtr;
reserved:ARRAY [0..3] OF LONGCARD;
END;
(*36*)SGWork=RECORD
gadget:GadgetPtr;
stringInfo:StringInfoPtr;
workBuffer:StrPtr;
prevBuffer:StrPtr;
modes:LONGSET;
iEvent:InputEventPtr;
code:CARDINAL;
bufferPos:INTEGER;
numChars:INTEGER;
actions:LONGSET;
longInt:LONGINT;
gadgetInfo:GadgetInfoPtr;
editOp:CARDINAL;
END;
CONST
(*36*)eoNoop=0001H;
(*36*)eoDelbackward=0002H;
(*36*)eoDelforward=0003H;
(*36*)eoMovecursor=0004H;
(*36*)eoEnter=0005H;
(*36*)eoReset=0006H;
(*36*)eoReplacechar=0007H;
(*36*)eoInsertchar=0008H;
(*36*)eoBadformat=0009H;
(*36*)eoBigchange=000AH;
(*36*)eoUndo=000BH;
(*36*)eoClear=000CH;
(*36*)eoSpecial=000DH;
(*36*)sgmReplace=0;
(*36*)sgmFixedField=1;
(*36*)sgmNoFilter=2;
(*36*)sgmNoChange=3;
(*36*)sgmNoWorkb=4;
(*36*)sgmControl=5;
(*36*)sgmLongint=6;
(*37*)sgmExitHelp=7;
(*36*)sgaUse=01H;
(*36*)sgaEnd=02H;
(*36*)sgaBeep=04H;
(*36*)sgaReuse=08H;
(*36*)sgaRedisplay=010H;
(*37*)sgaNextActive=020H;
(*37*)sgaPrevActive=040H;
(*36*)sghKey=1;
(*36*)sghClick=2;
TYPE
(*36*)Object=ADDRESS;
(*36*)ClassID=StrPtr;
(*36*)Msg=POINTER TO RECORD
methodID:LONGCARD;
END;
CONST
(*36*)rootClass="rootclass";
(*36*)imageClass="imageclass";
(*36*)frameiClass="frameiclass";
(*36*)sysiClass="sysiclass";
(*36*)fillrectClass="fillrectclass";
(*36*)gadgetClass="gadgetclass";
(*36*)propgClass="propgclass";
(*36*)strgClass="strgclass";
(*36*)buttongClass="buttongclass";
(*36*)frbuttonClass="frbuttonclass";
(*36*)groupgClass="groupgclass";
(*36*)icClass="icclass";
(*36*)modelClass="modelclass";
(*36*)omDummy=0100H;
(*36*)omNEW=0101H;
(*36*)omDISPOSE=0102H;
(*36*)omSET=0103H;
(*36*)omGET=0104H;
(*36*)omADDTAIL=0105H;
(*36*)omREMOVE=0106H;
(*36*)omNOTIFY=0107H;
(*36*)omUPDATE=0108H;
(*36*)omADDMEMBER=0109H;
(*36*)omREMMEMBER=010AH;
TYPE
(*36*)OpSet=RECORD
methodID:LONGCARD;
attrList:TagItemPtr;
gInfo:GadgetInfoPtr;
END;
(*36*)OpUpdate=RECORD
methodID:LONGCARD;
attrList:TagItemPtr;
gInfo:GadgetInfoPtr;
flags:LONGSET;
END;
CONST
(*36*)opufINTERIM=LONGSET{0};
TYPE
(*36*)OpGet=RECORD
methodID:LONGCARD;
attrID:LONGCARD;
storage:POINTER TO LONGCARD;
END;
(*36*)OpAddTail=RECORD
methodID:LONGCARD;
list:ListPtr;
END;
(*36*)OpMember=RECORD
methodID:LONGCARD;
object:ObjectPtr;
END;
(*36*)OpAddMember=OpMember;
(*36*)OpAddMemberPtr=OpMemberPtr;
(*36*)IClass=RECORD
dispatcher:Hook;
reserved:LONGCARD;
super:IClassPtr;
id:ClassID;
instOffset:CARDINAL;
instSize:CARDINAL;
userData:LONGCARD;
subclassCount:LONGCARD;
objectCount:LONGCARD;
flags:LONGSET;
END;
CONST
(*36*)inList=LONGSET{0};
TYPE
(*
Der Typ _Object wurde zu UObject umbenannt, weil Modula-2 ein '_' in
einem Namen nicht zulässt, und Object schon verwendet wird.
*)
(*36*)UObject=RECORD
node:MinNode;
class:IClassPtr;
END;
(*36*)GaTags=(gaDummy:=tagUser+030000H,
gaLeft,
gaRelRight,
gaTop,
gaRelBottom,
gaWidth,
gaRelWidth,
gaHeight,
gaRelHeight,
gaText,
gaImage,
gaBorder,
gaSelectRender,
gaHighlight,
gaDisabled,
gaGZZGadget,
gaID,
gaUserData,
gaSpecialInfo,
gaSelected,
gaEndGadget,
gaImmediate,
gaRelVerify,
gaFollowMouse,
gaRightBorder,
gaLeftBorder,
gaTopBorder,
gaBottomBorder,
gaToggleSelect,
gaSysGadget,
gaSysGType,
gaPrevious,
gaNext,
gaDrawInfo,
gaIntuiText,
gaLabelImage,
gaTabCycle
);
(*36*)PgaTags=(pgaDummy:=tagUser+031000H,
pgaFreedom,
pgaBorderless,
pgaHorizPot,
pgaHorizBody,
pgaVertPot,
pgaVertBody,
pgaTotal,
pgaVisible,
pgaTop,
(*37*)pgaNewLook
);
(*36*)StringaTags=(stringaDummy:=tagUser+032000H,
stringaMaxChars,
stringaBuffer,
stringaUndoBuffer,
stringaWorkBuffer,
stringaBufferPos,
stringaDispPos,
stringaAltKeyMap,
stringaFont,
stringaPens,
stringaActivePens,
stringaEditHook,
stringaEditModes,
stringaReplaceMode,
stringaFixedFieldMode,
stringaNoFilterMode,
stringaJustification,
stringaLongVal,
stringaTextVal,
(*37*)stringaExitHelp
);
CONST
(*36*)sgDefaultMaxChars=128;
TYPE
(*36*)LayoutaTags=(layoutaDummy:=tagUser+038000H,
layoutaLayoutObj,
layoutaSpacing,
layoutaOrientation
);
CONST
(*36*)lorientNone=0;
(*36*)lorientHoriz=1;
(*36*)lorientVert=2;
(*36*)gmDummy=-1;
(*36*)gmHITTEST=0;
(*36*)gmRENDER=1;
(*36*)gmGOACTIVE=2;
(*36*)gmHANDLEINPUT=3;
(*36*)gmGOINACTIVE=4;
TYPE
(*36*)GpHitTest=RECORD
methodID:LONGCARD;
gInfo:GadgetInfoPtr;
mouse:Point;
END;
CONST
(*36*)gmrGadgetHit=000000004H;
TYPE
(*36*)GpRender=RECORD
methodID:LONGCARD;
gInfo:GadgetInfoPtr;
rPort:RastPortPtr;
redraw:LONGINT;
END;
CONST
(*36*)gRedrawUpdate=2;
(*36*)gRedrawRedraw=1;
(*36*)gRedrawToggle=0;
TYPE
(*36*)GpInput=RECORD
methodID:LONGCARD;
gInfo:GadgetInfoPtr;
iEvent:InputEventPtr;
termination:ADDRESS;
mouse:Point;
END;
(*36*)GpGoInactive=RECORD
methodID:LONGCARD;
gInfo:GadgetInfoPtr;
(*37*)abort:LONGCARD;
END;
CONST
(*
gmrXXXX sind Bitnummern eines LONGSETs!
*)
(*36*)gmrMeActive=0;
(*36*)gmrNoReuse=1;
(*36*)gmrReuse=2;
(*36*)gmrVerify=3;
(*37*)gmrNextActive=4;
(*37*)gmrPrevActive=5;
(*36*)icmDummy=0401H;
(*36*)icmSETLOOP=0402H;
(*36*)icmCLEARLOOP=0403H;
(*36*)icmCHECKLOOP=0404H;
TYPE
(*36*)IcaTags=(icaDummy:=tagUser+040000H,
icaTarget,
icaMap,
icspecialCode
);
CONST
(*36*)icTargetIDCMP=-1;
(*36*)customImageDepth=-1;
TYPE
(*36*)IaTags=(iaDummy:=tagUser+020000H,
iaLeft,
iaTop,
iaWidth,
iaHeight,
iaFGPen,
iaBGPen,
iaData,
iaLineWidth,
iaShadowPen,
iaHighlightPen,
sysiaSize,
sysiaDepth,
sysiaWhich,
iaPens,
iaResolution,
iaAPattern,
iaAPatSize,
iaMode,
iaFont,
iaOutline,
iaRecessed,
iaDoubleEmboss,
iaEdgesOnly,
sysiaDrawInfo
);
CONST
(*36*)sysiaPens=iaPens;
(*36*)sysisizeMedres=0;
(*36*)sysisizeLowres=1;
(*36*)sysisizeHires= 2;
(*36*)depthImage=00H;
(*36*)zoomImage=01H;
(*36*)sizeImage=02H;
(*36*)closeImage=03H;
(*36*)sdepthImage=05H;
(*36*)leftImage=0AH;
(*36*)upImage=0BH;
(*36*)rightImage=0CH;
(*36*)downImage=0DH;
(*36*)checkImage=0EH;
(*36*)mxImage=0FH;
(*36*)imDraw=202H;
(*36*)imHitTest=203H;
(*36*)imErase=204H;
(*36*)imMove=205H;
(*36*)imDrawFrame=206H;
(*36*)imFrameBox=207H;
(*36*)imHitFrame=208H;
(*36*)imEraseFrame=209H;
(*36*)idsNormal=0;
(*36*)idsSelected=1;
(*36*)idsDisabled=2;
(*36*)idsBusy=3;
(*36*)idsIndeterminate=4;
(*36*)idsInactiveNormal=5;
(*36*)idsInactiveSelected=6;
(*36*)idsInactiveDisabled=7;
TYPE
(*36*)ImpFrameBox=RECORD
methodID:LONGCARD;
contentsBox:IBoxPtr;
frameBox:IBoxPtr;
drInfo:DrawInfoPtr;
frameFlags:LONGSET;
END;
CONST
(*36*)framefSpecify=LONGSET{0};
TYPE
(*36*)ImpDraw=RECORD
methodID:LONGCARD;
rPort:RastPortPtr;
offset:RECORD
x:INTEGER;
y:INTEGER;
END;
state:LONGCARD;
drInfo:DrawInfoPtr;
dimensions:RECORD
width:INTEGER;
height:INTEGER;
END;
END;
(*36*)ImpErase=RECORD
methodID:LONGCARD;
rPort:RastPortPtr;
offset:RECORD
x:INTEGER;
y:INTEGER;
END;
dimensions:RECORD
width:INTEGER;
height:INTEGER;
END;
END;
(*36*)ImpHitTest=RECORD
methodID:LONGCARD;
point:Point;
dimensions:RECORD
width:INTEGER;
height:INTEGER;
END;
END;
END IntuitionD.noimp